package model

type GameLevelCreateRequest struct {
	Id                 int64  `json:"id"`
	Desc               string `json:"desc"`
	Weight             int    `json:"weight"`
	Type               int    `json:"type"`
	ParentId           int64  `json:"parent_id"`
	QuestionCount      int64  `json:"question_count"`
	EssayQuestionCount int64  `json:"essay_question_count"`
	Threshold          int    `json:"threshold"`
	StarZone           string `json:"star_zone"`
	Image              string `json:"image"`
	CreatedAt          int64  `json:"created_at"`
	UpdatedAt          int64  `json:"updated_at"`
}
type GameLevelUpdateRequest struct {
	Id                 int64   `json:"id"`
	Desc               *string `json:"desc"`
	Weight             *int    `json:"weight"`
	Type               *int    `json:"type"`
	ParentId           *int64  `json:"parent_id"`
	QuestionCount      *int64  `json:"question_count"`
	EssayQuestionCount *int64  `json:"essay_question_count"`
	Threshold          *int    `json:"threshold"`
	StarZone           *string `json:"star_zone"`
	Image              *string `json:"image"`
	CreatedAt          *int64  `json:"created_at"`
	UpdatedAt          *int64  `json:"updated_at"`
	StarZones          []int64 `json:"star_zones"`
}
type GameLevelListRequest struct {
	Id                 int64   `json:"id"`
	Desc               *string `json:"desc"`
	Weight             *int    `json:"weight"`
	Type               *int    `json:"type"`
	ParentId           *int64  `json:"parent_id"`
	QuestionCount      *int64  `json:"question_count"`
	EssayQuestionCount *int64  `json:"essay_question_count"`
	Threshold          *int    `json:"threshold"`
	StarZone           *string `json:"star_zone"`
	Image              *string `json:"image"`
	CreatedAt          *int64  `json:"created_at"`
	UpdatedAt          *int64  `json:"updated_at"`
	Index              int     `json:"index"`
	Size               int     `json:"size"`
}
type GameLevelListResponse struct {
	Total int              `json:"total"`
	List  []*GameLevelInfo `json:"list"`
}
type GameLevelInfoRequest struct {
	Id       int64 `json:"id"`
	Weight   int   `json:"weight"`
	ParentId int   `json:"parent_id"`
}
type GameLevelInfo struct {
	Id                 int64   `json:"id"`
	Desc               string  `json:"desc"`
	Weight             int     `json:"weight"`
	Type               int     `json:"type"`
	ParentId           int64   `json:"parent_id"`
	QuestionCount      int64   `json:"question_count"`
	EssayQuestionCount int64   `json:"essay_question_count"`
	Threshold          int     `json:"threshold"`
	StarZone           string  `json:"star_zone"`
	Image              string  `json:"image"`
	CreatedAt          int64   `json:"created_at"`
	UpdatedAt          int64   `json:"updated_at"`
	StarZones          []int64 `json:"star_zones"`
}
type GameLevelDeleteRequest struct {
	Id int64 `json:"id"`
}
